"""
主应用程序入口
"""
import os
from flask import Flask, jsonify
from flask_cors import CORS

# 禁用自动加载.env文件
os.environ["FLASK_SKIP_DOTENV"] = "1"

# 手动导入配置
from config import LOG_CONFIG
from controllers.data_source_controller import data_source_bp
from utils.logger import setup_logger

# 设置日志
logger = setup_logger()

def create_app():
    """
    创建Flask应用
    """
    app = Flask(__name__)
    
    # 配置CORS
    CORS(app, resources={r"/api/*": {"origins": "*"}})
    
    # 注册蓝图
    app.register_blueprint(data_source_bp)
    
    # 全局错误处理
    @app.errorhandler(404)
    def not_found(e):
        logger.warning(f"404错误: {e}")
        return jsonify({
            'success': False,
            'message': '请求的资源不存在'
        }), 404
    
    @app.errorhandler(500)
    def server_error(e):
        logger.error(f"500错误: {e}")
        return jsonify({
            'success': False,
            'message': '服务器内部错误'
        }), 500
    
    @app.route('/')
    def home():
        return jsonify({
            'status': 'ok',
            'message': '数据源服务已启动'
        }), 200
    
    logger.info("Flask应用创建完成")
    return app

if __name__ == '__main__':
    app = create_app()
    # 获取端口，默认为5000
    port = int(os.environ.get('PORT', 5000))
    logger.info(f"应用将在端口 {port} 上启动")
    app.run(host='0.0.0.0', port=port, debug=True) 